home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
prodpack.zip
/
DB4PPSRC.EXE
/
_DLENTRY.PRG
< prev
next >
Wrap
Text File
|
1993-05-04
|
3KB
|
106 lines
PROCEDURE _DLEntry
PARAMETERS pc_panel, pc_file
*---------------------------------------------------------------------
* NAME
* _DLEntry - Control Center Entry program for the Forms panel
*
* DESCRIPTION
* This program replaces the activity that the dBASE IV control
* center would do if the Form Entry hook did not exist. It handles
* forms with and without lookups, detail files, and/or help.
*
* SYNOPSIS
* From DOT prompt, DEBUG _DLEntry WITH <pc_panel>, <pc_file>
* From Config.db, PRGFORM = _DLEntry,...
*
* PARAMETERS
* pc_panel = panel name, "FORM"
* pc_file = name of scr file: blank if new,
* or full SCR file name
*
* LIMITATIONS
*
* DEPENDENCIES
*
* Creates the following public memory variables:
* FXN_TYPE = Typeahead buffer value when entering surface. Reset
* back by _DLExit
* FXL_CLOCK = Clock status when first entering the surface
* FXL_ESCAPE = Escape status when first entering the surface
* FXL_STATUS = Status bar state when first entering the surface
*
* VARIABLES
* ll_talk = State of TALK, .T. if on, .F. if off
* ll_dbtrap = State of DBTRAP, .T. if on, .F. if off
* ll_status = State of STATUS, .T. if on, .F. if off
* ll_clock = State of CLOCK, .T. if on, .F. if off
* ll_exact = State of EXACT, .T. if on, .F. if off
* ll_near = State of NEAR, .T. if on, .F. if off
* ll_fields = State of FIELDS, .T. if on, .F. if off
* lc_scbname = Name of SCB file derived from SCR file name
* ll_isscb = If the SCB file exists, set to .T., else .F.
* ll_loaded = If the correct DBF or view was opened, .T., else .F.
*
*---------------------------------------------------------------------
SET ECHO OFF
PRIVATE ll_talk, ll_dbtrap, ll_status, ll_clock, ll_exact, ;
ll_near, ll_fields, lc_scbname, ll_isscb, ll_loaded, lc_view, ;
ln_mem
ll_talk = _TalkMode( .F. ) && Shut talk off and save state
SET FORMAT TO
IF TYPE( "FXL_ESCAPE" ) = "U"
PUBLIC FXL_Escape
FXL_Escape = SET( "ESCAPE" ) = "ON" && Save the ESCAPE state
#ifdef SFX_debug
SET ESCAPE ON
#else
SET ESCAPE OFF && Force ESCAPE OFF so prgs can't be stopped
#endif
ENDIF
IF TYPE( "FXL_CLOCK" ) = "U"
PUBLIC FXL_Clock
FXL_Clock = SET( "CLOCK" ) = "ON" && Save clock state
SET CLOCK OFF && FOrce it off for other DSP's
ENDIF
IF TYPE( "FXL_Status" ) = "U"
PUBLIC FXL_Status
FXL_Status = SET( "Status" ) = "ON" && Save Status state
ENDIF
RELEASE FXL_DBTrap
PUBLIC FXL_DBTrap
FXL_DBTrap = SET( "DBTRAP" ) = "ON"
SET DBTRAP OFF
RELEASE FXN_type
PUBLIC FXN_type
FXN_type = SET( "TYPEAHEAD" )
SET TYPEAHEAD TO 4000
USE IN 1
CLOSE DATABASE
IF _TalkMode( ll_talk )
ENDIF
ON ERROR
IF ISBLANK( pc_file )
CLEAR TYPEAHEAD
KEYBOARD [{DnArrow}{DnArrow}{DnArrow}]
KEYBOARD CHR(27) && Escape from the Layout menu
ENDIF
RETURN
*-- EOP: _DLEntry WITH pc_panel, pc_file